package top.iforum.bbs.modules.course.entity;

import top.iforum.bbs.modules.sys.entity.User;
import top.iforum.common.mvc.entity.AbstractEntity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableField;
import java.util.Date;

/**
 *
 * @version V1.0
 * @description: 课程实体
 * @author: 张娜
 */

@TableName("course")
@SuppressWarnings("serial")
public class Course extends AbstractEntity<String> {

    /**Id*/
    @TableId(value = "id", type = IdType.UUID)
	private String id;
    /**课程编号*/
    @TableField(value = "num")
	private String num;
    /**课程名*/
    @TableField(value = "cname")
	private String cname;
    /**类型*/
    @TableField(value = "type")
	private String type;
    /**描述*/
    @TableField(value = "remarks")
	private String remarks;
    /**排序*/
    @TableField(value = "sort")
	private Integer sort;
    /**创建者id*/
	@TableField(value = "create_by", el = "createBy.id", fill = FieldFill.INSERT)
	private User createBy;
    /**创建时间*/
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "create_date", fill = FieldFill.INSERT)
	private Date createDate;
    /**更新者id*/
	@TableField(value = "update_by", el = "updateBy.id", fill = FieldFill.UPDATE)
	private User updateBy;
    /**更新时间*/
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "update_date", fill = FieldFill.UPDATE)
	private Date updateDate;
    /**删除标记*/
    @TableField(value = "del_flag")
	private String delFlag = "0";
	
	/**
	 * 获取  id
	 *@return String  Id
	 */
	@Override
	public String getId(){
		return this.id;
	}

	/**
	 * 设置  id
	 *@param id  Id
	 */
	@Override
	public void setId(String id){
		this.id = id;
	}
	/**
	 * 获取  num
	 *@return String  课程编号
	 */
	public String getNum(){
		return this.num;
	}

	/**
	 * 设置  num
	 *@param num  课程编号
	 */
	public void setNum(String num){
		this.num = num;
	}
	/**
	 * 获取  cname
	 *@return String  课程名
	 */
	public String getCname(){
		return this.cname;
	}

	/**
	 * 设置  cname
	 *@param cname  课程名
	 */
	public void setCname(String cname){
		this.cname = cname;
	}
	/**
	 * 获取  type
	 *@return String  类型
	 */
	public String getType(){
		return this.type;
	}

	/**
	 * 设置  type
	 *@param type  类型
	 */
	public void setType(String type){
		this.type = type;
	}
	/**
	 * 获取  remarks
	 *@return String  描述
	 */
	public String getRemarks(){
		return this.remarks;
	}

	/**
	 * 设置  remarks
	 *@param remarks  描述
	 */
	public void setRemarks(String remarks){
		this.remarks = remarks;
	}
	/**
	 * 获取  sort
	 *@return Integer  排序
	 */
	public Integer getSort(){
		return this.sort;
	}

	/**
	 * 设置  sort
	 *@param sort  排序
	 */
	public void setSort(Integer sort){
		this.sort = sort;
	}
	/**
	 * 获取  createBy
	 *@return String  创建者id
	 */
	public User getCreateBy(){
		return this.createBy;
	}

	/**
	 * 设置  createBy
	 *@param createBy  创建者id
	 */
	public void setCreateBy(User createBy){
		this.createBy = createBy;
	}
	/**
	 * 获取  createDate
	 *@return Date  创建时间
	 */
	public Date getCreateDate(){
		return this.createDate;
	}

	/**
	 * 设置  createDate
	 *@param createDate  创建时间
	 */
	public void setCreateDate(Date createDate){
		this.createDate = createDate;
	}
	/**
	 * 获取  updateBy
	 *@return String  更新者id
	 */
	public User getUpdateBy(){
		return this.updateBy;
	}

	/**
	 * 设置  updateBy
	 *@param updateBy  更新者id
	 */
	public void setUpdateBy(User updateBy){
		this.updateBy = updateBy;
	}
	/**
	 * 获取  updateDate
	 *@return Date  更新时间
	 */
	public Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 * 设置  updateDate
	 *@param updateDate  更新时间
	 */
	public void setUpdateDate(Date updateDate){
		this.updateDate = updateDate;
	}
	/**
	 * 获取  delFlag
	 *@return String  删除标记
	 */
	public String getDelFlag(){
		return this.delFlag;
	}

	/**
	 * 设置  delFlag
	 *@param delFlag  删除标记
	 */
	public void setDelFlag(String delFlag){
		this.delFlag = delFlag;
	}
	
}